#pragma once
#include "BaseCommand.h"


class CloseCommand : public BaseCommand
{
public:
	CloseCommand();
	virtual ~CloseCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class CreateKeyCommand : public BaseCommand
{
public:
	CreateKeyCommand();
	virtual ~CreateKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class DeleteKeyCommand : public BaseCommand
{
public:
	DeleteKeyCommand();
	virtual ~DeleteKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class DeleteValueKeyCommand : public BaseCommand
{
public:
	DeleteValueKeyCommand();
	virtual ~DeleteValueKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class EnumKeyCommand : public BaseCommand
{
public:
	EnumKeyCommand();
	virtual ~EnumKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class EnumValueKeyCommand : public BaseCommand
{
public:
	EnumValueKeyCommand();
	virtual ~EnumValueKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class OpenKeyCommand : public BaseCommand
{
public:
	OpenKeyCommand();
	virtual ~OpenKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class OpenKeyExCommand : public BaseCommand
{
public:
	OpenKeyExCommand();
	virtual ~OpenKeyExCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class QueryKeyCommand : public BaseCommand
{
public:
	QueryKeyCommand();
	virtual ~QueryKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class QueryValueKeyCommand : public BaseCommand
{
public:
	QueryValueKeyCommand();
	virtual ~QueryValueKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};

class SetValueKeyCommand : public BaseCommand
{
public:
	SetValueKeyCommand();
	virtual ~SetValueKeyCommand();
	virtual void DisplayHelp();
	virtual bool Execute( const std::map<std::wstring, std::wstring>& params );
};
